In a network communication environment, such as the Internet, a client computing device (client) may utilize a software browser application to initiate network connections with server computing devices (servers), and subsequently request content from those servers. Clients may be configured to cache content received from the servers. Subsequent requests for content may then be fulfilled from the cache, thereby avoiding additional requests to the server for the same content. Proxy servers can also be configured to cache content retrieved on behalf of a number of clients, storing the content in a shared cache and serving content from the cache in response to subsequent requests.
Some systems prefetch content from servers instead of or in addition to caching content requested by the user. In a typical application, a client generates a request for content, and some system determines which content the client is most likely to request next based on the current request. The client (or an intermediary proxy server) then retrieves that content prior to a user generating a request for the content. The prefetched content may be saved in the client cache so that it can be retrieved from the cache if the client subsequently requests the content.